In computer engineering, computer architecture is a combination of microarchitecture and an instruction set. The microarchitecture designates how a given instruction set architecture is implemented in a processing device. Designing microarchitecture can be complex and can take significant time and resources. Conventionally, a given microarchitecture may be uniquely designed for different platforms. A client platform, for example, typically has a different design than that of a server platform. Although the different platforms can share some aspects of the microarchitecture, each platform has different requirements and thus has a unique design. A microarchitecture design may go through various stages, including creation, simulation, fabrication and testing. As a result, different design teams can be tasked for uniquely designing the platform-specific platforms over a period of years.